package dwarffortress.data;

import java.util.EnumMap;
import java.util.EnumSet;

public class DFLanguageWord {
    public enum WordLocation {
        FRONT_COMPOUND,
        REAR_COMPOUND,
        FIRST_ADJECTIVE,
        SECOND_ADJECTIVE,
        HYPEN_COMPOUND,
        THE_WORD,
        OF_WORD,
    }

    public enum WordMode {
        NOUN, ADJ, PREFIX, VERB, SPECIAL_OFF, SPECIAL_NOUN_PLURAL
    }



    private boolean standardVerb;
    private int adjectiveDistance;
    private EnumMap<WordMode, String[]> words = new EnumMap<WordMode, String[]>(WordMode.class);
    private EnumMap<WordMode, EnumSet<WordLocation>> locations = new EnumMap<WordMode, EnumSet<WordLocation>>(WordMode.class);
    {
        for (WordMode mode : WordMode.values()) {
            locations.put(mode,  EnumSet.noneOf(WordLocation.class));
        }
    }


    public void addWords(WordMode mode, String[] words) {
        this.words.put(mode, words);
    }

    public void addLocation(WordMode mode, WordLocation location) {
       locations.get(mode).add(location);
    }

    public void markStandardVerb() {
        standardVerb = true;
    }
    public void setAdjectiveDistance(int distance) {
        adjectiveDistance = distance;
    }
}
